package com.ecloud.openapi.translate.convert;

import java.util.List;

import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers;

import com.ecloud.openapi.translate.dto.BaseTranslateInfoDto;
import com.ecloud.openapi.translate.po.BaseTranslateInfoPo;
import com.ecloud.openapi.translate.vo.BaseTranslateInfoVo;

/**
 * BaseTranslateInfoConvert 模型转换
 *
 * @author LiuGangQiang Create in 2021/08/06
 */
@Mapper
public interface BaseTranslateInfoConvert {
    BaseTranslateInfoConvert INSTANCE = Mappers.getMapper(BaseTranslateInfoConvert.class);

    /**
     * {@link BaseTranslateInfoDto}对象 >> {@link BaseTranslateInfoPo}对象
     *
     * @author LiuGangQiang Create in 2021/08/06
     * @param dto 入参
     * @return {@link BaseTranslateInfoPo} 对象
     */
    BaseTranslateInfoPo dtoToPo(BaseTranslateInfoDto dto);

    /**
     * {@link BaseTranslateInfoDto}集合 >> {@link BaseTranslateInfoPo}集合
     *
     * @author LiuGangQiang Create in 2021/08/06
     * @param dtos 入参
     * @return {@link BaseTranslateInfoPo} 集合
     */
    List<BaseTranslateInfoPo> dtoToPo(List<BaseTranslateInfoDto> dtos);

    /**
     * {@link BaseTranslateInfoPo}对象 >> {@link BaseTranslateInfoVo}对象
     *
     * @author LiuGangQiang Create in 2021/08/06
     * @param dto 入参
     * @return {@link BaseTranslateInfoVo} 对象
     */
    BaseTranslateInfoVo poToVo(BaseTranslateInfoPo po);

    /**
     * {@link BaseTranslateInfoPo}集合 >> {@link BaseTranslateInfoVo}集合
     *
     * @author LiuGangQiang Create in 2021/08/06
     * @param dtos 入参
     * @return {@link BaseTranslateInfoVo} 集合
     */
    List<BaseTranslateInfoVo> poToVo(List<BaseTranslateInfoPo> pos);
}
